On Wed, 28 Aug 2002 16:12:41 -0400 in message <20020828161241.50a8512d.gry@ll.mit.edu>, george young <gry@ll.mit.edu>
wrote:
> [postgreql 7.2, linux]
> I have a table T with columns run, wafer, and test:
> T(run text, wafer int, test text)
> Given a run and a set of wafers, I need the set of tests that match
> *all* the specified wafers:
>
> run wafer test
> a 1 foo
> a 2 foo
> a 3 foo
> a 3 bar
>
> E.g.
> Given run 'a' and wafers (1,3) I should get one row: foo, since only foo matches both 1 and 3.
> Given run 'a' and wafers (3) I should get two rows: foo,bar, since both foo and bar match 3.
>
> Is there some neat way to do this in a single query?
>
select test from T where run='a' and wafers in ('1','3') group by test
eric